In the field of artificial intelligence, planning is a process of selecting and organizing actions by considering expected outcomes or goals. In a planning process, the plan state denotes a state of the world and is represented as a set of state facts. During the planning process, the plan state undergoes changes as determined by post conditions of actions included in a plan. The planning system has to select and execute a set of actions in order to reach a goal state.
Current planning techniques, or particularly plan state representation techniques, suffer from many limitations such as practicability, scalability, and modularity. In a real world scenario, the planning system needs to access a collection of information available from heterogeneous data sources. The heterogeneous data sources include databases, ontology, application program interface calls, and web services, and the like. However, the current planning techniques do not consider heterogeneity of information in the plan state. Hence, the practicability limitation in the planning systems is not solved. In practical cases, the plan state may be enormously large, which in turn may affect performance of the planning system. As an example, the HTN (Hierarchical Task Network) planner, JSHOP2 (a Java implementation of Simple Hierarchical Ordered Planner), suffers from scalability problem because the plan state has a large number of state facts represented in a monolithic predicate-based schema. Further, during planning, a complete set of information is loaded into the memory of the planning system, whereas only a part of the complete set of information is actually required at various points of execution in the generation of the plan. Hence the loading of a large amount of information into the memory of the planning system leads to a scalability problem.
In general, data sources follow a modularity approach. For example, data comprising weather information, road information, and transport information may be maintained in database systems. Further, separate tables may be used to store the data. Therefore, a change in one module or a table does not affect the change in other modules or tables of the database systems. The current plan state representation does not follow the modularity approach as the information in the plan state is presented using the monolithic predicate-based schema.
Further, conventional planning techniques do not provide optimized use of data during generation of the plan. The conventional planning techniques use the monolithic predicate-based schema for the plan state representation wherein a world state is described as a set of predicates that are currently true. On the contrary, in reality the world state has to be obtained by aggregating information from different modular sources represented through multiple knowledge representation techniques. Further, performance of the planning system may be affected when the size of the plan state is enormously large. Thus, the conventional planning techniques face many challenges in providing an efficient and optimized plan state representation during plan generation.